package br.com.cefetrn.apoena.view.action;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import br.com.cefetrn.apoena.dominio.entity.Evento;
import br.com.cefetrn.apoena.dominio.entity.Fotos;
import br.com.cefetrn.apoena.dominio.entity.Noticia;
import br.com.cefetrn.apoena.dominio.home.Home4Evento;
import br.com.cefetrn.apoena.dominio.home.Home4EventoFotos;
import br.com.cefetrn.apoena.dominio.home.Home4Pessoa;

public class Action4Evento extends AxActionAPOENA {

	
	private static final Log LOG = LogFactory.getLog(Action4Evento.class);
	private File arquivo = new File("");
	private List<Fotos> fotos = new ArrayList<Fotos>();
	private List<Evento> eventos = new ArrayList<Evento>();
	
	private Evento evento = new Evento();
	
	private Fotos foto = new Fotos();
	
	//Homes
	private Home4Evento home4Evento = new Home4Evento();
	private Home4EventoFotos home4EventoFotos = new Home4EventoFotos();
	private Home4Pessoa home4Pessoa = new Home4Pessoa();
	
	//Busca
	
	private int codEventoBuscado = new Integer(0);
	private String DETALHAR = "DETALHAR";
	
	public void prepare() throws Exception {
		// TODO Auto-generated method stub
		LOG.info("prepare()");
		home4Evento.setSession(getSession());
		home4Pessoa.setSession(getSession());
		home4EventoFotos.setSession(getSession());
		
		eventos = home4Evento.findAll();
	
	}
	@Override
	protected String go() {
		if (CADASTRO.equalsIgnoreCase(tipo))
			cadastrar();
		
		if (BUSCA.equalsIgnoreCase(tipo)) buscar();
		
		if (EDICAO.equalsIgnoreCase(tipo)) editar();

		return result;
	}
	private void editar() {
		
		if(botao.equalsIgnoreCase("Editar")){ 
		    Evento evento2 = home4Evento.findById(codEventoBuscado);
		    evento2.setNome(evento.getNome());
		    evento2.setDescricao(evento.getDescricao());
			home4Evento.attachDirty(evento2);
			tipo = BUSCA;
		}else{
			if (codEventoBuscado != 0) evento = home4Evento.findById(codEventoBuscado);
		}
	}
	private Evento buscar() {
		if (botao.equalsIgnoreCase("buscar")){
			if (codEventoBuscado != 0){ 
				evento = home4Evento.findById(codEventoBuscado);
				tipo = DETALHAR;
			}
			System.out.println(evento.getPessoa().getNome());
		}
		
		return evento;
		// TODO Auto-generated method stub
		
	}
	private void cadastrar() {
		if(codEventoBuscado !=0){
			evento = home4Evento.findById(codEventoBuscado);
		}
		if (botao.equalsIgnoreCase("enviar")){
			evento.setPessoa(home4Pessoa.findById(1));
			home4Evento.persist(evento);
			
			result = SUCCESS;
		}

	}
	
	public File getArquivo() {
		return arquivo;
	}
	public void setArquivo(File arquivo) {
		this.arquivo = arquivo;
	}
	public List<Fotos> getFotos() {
		return fotos;
	}
	public void setFotos(List<Fotos> fotos) {
		this.fotos = fotos;
	}
	public List<Evento> getEventos() {
		return eventos;
	}
	public void setEventos(List<Evento> eventos) {
		this.eventos = eventos;
	}
	public Evento getEvento() {
		return evento;
	}
	public void setEvento(Evento evento) {
		this.evento = evento;
	}
	public Fotos getFoto() {
		return foto;
	}
	public void setFoto(Fotos foto) {
		this.foto = foto;
	}
	public int getCodEventoBuscado() {
		return codEventoBuscado;
	}
	public void setCodEventoBuscado(int codEventoBuscado) {
		this.codEventoBuscado = codEventoBuscado;
	}

}
